#ifndef _VIDEO_H_
#define _VIDEO_H_

#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
#include "SDL/SDL_ttf.h"

#define VIT_FARG (SDL_MapRGB(video.screen->format, 0xFF, 0xFF, 0xFF))
#define GRA_FARG (SDL_MapRGB(video.screen->format, 0x66, 0x66, 0x66))
#define MARKERAD_FARG (SDL_MapRGB(video.screen->format, 0, 0xFF, 0xFF))
#define SVART_FARG (SDL_MapRGB(video.screen->format, 0, 0, 0))

#define RUT_FARG(x, y) (((x)+(y))%2 ? SVART_FARG : VIT_FARG)

/*---------------------------------

Klassen Video sköter allt som har med initiering av SDL:s ritfunktionsgrejs att göra
och sköter resten av ritningen i spelet (tex rita bilder, rita om brodet).

---------------------------------*/

class Video {
public:

	SDL_Surface* screen;
	TTF_Font* font;

	SDL_Surface* loadImage( const char* filnamn );

	void renderText( const char* text, short x, short y, SDL_Color farg );
	bool ritaBild( int x, int y, int w, int h, SDL_Surface* bild );
	void ritaRektangel( int x, int y, int w, int h, Uint32 farg );
	void ritaOmAllt( void );

	inline void flip( void ){ SDL_Flip( screen ); }

	Video( void );
	~Video( void );

	bool initVideo( void );

};

extern Video* video;


#endif //_VIDEO_H_
